草庐IT

c++ - GenericFactory 作为单例

全部标签

mongodb - 使用 gopkg.in/mgo.v2 作为字符串在 golang 中自定义 mongodb 命令

我想知道,是否有运行我自己的命令(或查询)的命令(或查询),我在go中使用“mgo”将其构造为字符串变量。像这样:c:=session.DB(DBNAME).C(COLLECTION)c.RUN_COMMAND_AS_STRING("find({username:'vahid'})") 最佳答案 isthereanywaytorunmyowncommand(orquery)whichIhaveconstructedasastringvariableusing"mgo"ingo.您可以调用MongoDBfindcommand,并将查询

http - 为什么推荐使用ctx作为第一个参数?

作为documentation说DonotstoreContextsinsideastructtype;instead,passaContextexplicitlytoeachfunctionthatneedsit.TheContextshouldbethefirstparameter,typicallynamedctx但是我发现,在典型的http请求处理函数中,一个http.Request对象有一个.Context()方法可以获取http请求关联的上下文。那么为什么建议在这些函数中使用上下文作为第一个参数呢?在这种情况下这样做合理吗?我知道这不是绝对规则。但我想知道为什么Handle

go - 我如何解码 Dynamic Viper 或 JSON 键作为结构字段的一部分

当JSON不是“所需”格式时,我发现GOLANG中的编码(marshal)处理和解封处理非常困惑。例如,在一个JSON配置文件(我正在尝试将其与Viper一起使用)中,我有一个如下所示的配置文件:{"things":{"123abc":{"key1":"anything","key2":"more"},"456xyz":{"key1":"anything2","key2":"more2"},"blah":{"key1":"anything3","key2":"more3"}}}其中“事物”可能是另一个对象中的对象n层以下我有一个结构:typeThingstruct{Namestring

go - 使用 header 作为 application/json 在 Golang 中获取 POST 参数

我是golang的新手,正在尝试使用httprouter(https://github.com/julienschmidt/httprouter)通过POST方法创建RESTAPI。我使用简单的原始请求,header作为Content-Type:application/json。我已经很努力了,但没有找到获取原始查询参数的方法。req.FormValue("name")或req.Form.Get("name")工作正常,但标题为Content-Type:application/x-www-form-urlencoded有没有人试过获取原始查询参数(标题为Content-Type:app

c - 如何将返回的 uint8_u 转换为 ARM 中的 GoString?

我使用cgo从Go调用C函数。该函数的返回类型为uint8_u*。我知道它是一个字符串,需要在Go中打印它。我在myFile.go中有以下内容packagemain//#cgoCFLAGS:-g//#include//#include"cLogic.h"import"C"import("fmt""unsafe")funcmain(){myString:="DUMMY"cMyString:=C.CString(myString)deferC.free(unsafe.Pointer(cMyString))cMyInt:=C.int(10)cResult:=C.MyCFunction(cMy

以列表作为参数变量的 Golang 变异 (GRAPHQL)

基本上我想做的是发送一个字符串列表ex:["aa","bb","vv"]到graphqlMutation字段中,目前这是我的MutationSchema"listTest":&graphql.Field{Type:QueryMessageType,Args:graphql.FieldConfigArgument{"listNew":&graphql.ArgumentConfig{Description:"ExampleListofJsonString",Type:graphql.NewList(graphql.NewNonNull(graphql.String)),},},Resolv

c - 使用 cgo 构建共享对象时导出变量

我想使用带有选项gobuild-buildmode=c-shared的Go/Cgo构建一个.so库。函数导出良好,但我无法导出变量。我需要实现一个API,它通过调用一个void函数来工作,该函数设置各种全局属性的值。像这样:var(Gval1intGval2string//GvalN)funcf(){Gval1=1Gval2="qwerty"}.solib的客户端将运行f();之后,它可以通过寻址变量的名称来获取变量。我怎样才能导出它们?我曾尝试过这样的把戏:golangcgocan'texportvariablesbybuildmodec-shared,但没有成功(示例始终返回0,而

go - 如何在 Go 中使用中缀(比较)运算符作为参数

在GoLang中,可以使用函数作为参数,例如在这个简单的例子中,根据小于等于()或大于等于运算符(>=)比较两个数字。)packagemainfuncleq(x,yint)bool{returnx=y}funccompare(x,yint,comparatorfunc(int,int)bool)bool{returncomparator(x,y)}funcmain(){println(compare(3,5,leq))//trueprintln(compare(5,3,leq))//falseprintln(compare(3,5,geq))//falseprintln(compare

go - 作为对象的变异参数

我正在使用GoimplemenatationofGraphQL.您将如何配置一个变异,以便它可以接收超过1级的参数?例如,这是我想传递给突变CreateUser的参数列表:mutationcreateUser($user:CreateUser!){createUser(input:$user)}{"user":{"name":{"first":"John","last":"Doe"},"email":"john@doe.com"}}(请注意,我不想使用firstname和lastname而是使用name对象)这是我迄今为止(未成功)的尝试:varCreateUserInput=grap

go - 填充作为参数给出的接口(interface)类型的一部分(例如,为数据库/sql 实现 ScanAll)

我们如何实现一个函数,该函数将返回SQL查询产生的所有行并将它们转换为dest这是一个接口(interface)数组(可能无法像Scan一样工作)?我假设目标数组必须作为函数的参数给出。但是,我仍然不知道我应该如何完成实现:funcGetAll(querystring,destinterface{})error{rows,err:=s.db.Query(query)iferr!=nil{returnerr}deferrows.Close()forrows.Next(){vardestRow???/*donothaveatype.usingreflect.TypeOf(dest).Ele